home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
IRIX 6.2 Development Libraries
/
SGI IRIX 6.2 Development Libraries.iso
/
dist
/
complib.idb
/
usr
/
share
/
catman
/
p_man
/
cat3
/
complib
/
SSPCO.z
/
SSPCO
Wrap
Text File
|
1996-03-14
|
3KB
|
133 lines
SSSSSSSSPPPPCCCCOOOO((((3333FFFF)))) SSSSSSSSPPPPCCCCOOOO((((3333FFFF))))
NNNNAAAAMMMMEEEE
SSPCO - SSPCO factors a real symmetric matrix stored in packed form by
elimination with symmetric pivoting and estimates the condition of the
matrix.
If RCOND is not needed, SSPFA is slightly faster. To solve A*X = B ,
follow SSPCO by SSPSL. To compute INVERSE(A)*C , follow SSPCO by SSPSL.
To compute INVERSE(A) , follow SSPCO by SSPDI. To compute
DETERMINANT(A) , follow SSPCO by SSPDI. To compute INERTIA(A), follow
SSPCO by SSPDI.
SSSSYYYYNNNNOOOOPPPPSSSSYYYYSSSS
SUBROUTINE SSPCO(AP,N,KPVT,RCOND,Z)
DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
On Entry
AAAAPPPP REAL (N*(N+1)/2)
the packed form of a symmetric matrix A . The
columns of the upper triangle are stored sequentially
in a one-dimensional array of length N*(N+1)/2 .
See comments below for details.
NNNN INTEGER
the order of the matrix A . Output
AAAAPPPP a block diagonal matrix and the multipliers which
were used to obtain it stored in packed form.
The factorization can be written A = U*D*TRANS(U)
where U is a product of permutation and unit
upper triangular matrices , TRANS(U) is the
transpose of U , and D is block diagonal
with 1 by 1 and 2 by 2 blocks.
KKKKPPPPVVVVTTTT INTEGER(N)
an integer vector of pivot indices.
RRRRCCCCOOOONNNNDDDD REAL
an estimate of the reciprocal condition of A .
For the system A*X = B , relative perturbations
in A and B of size EPSILON may cause
relative perturbations in X of size EPSILON/RCOND .
If RCOND is so small that the logical expression
1.0 + RCOND .EQ. 1.0
is true, then A may be singular to working
precision. In particular, RCOND is zero if
exact singularity is detected or the estimate
underflows.
ZZZZ REAL(N)
a work vector whose contents are usually unimportant.
PPPPaaaaggggeeee 1111
SSSSSSSSPPPPCCCCOOOO((((3333FFFF)))) SSSSSSSSPPPPCCCCOOOO((((3333FFFF))))
If A is close to a singular matrix, then Z is
an approximate null vector in the sense that
NORM(A*Z) = RCOND*NORM(A)*NORM(Z) . Packed Storage The following
program segment will pack the upper triangle of a symmetric matrix.
K = 0
DO 20 J = 1, N
DO 10 I = 1, J
K = K + 1
AP(K) = A(I,J)
10 CONTINUE
20 CONTINUE LINPACK. This version dated 08/14/78 . Cleve Moler,
University of New Mexico, Argonne National Lab. Subroutines and
Functions LINPACK SSPFA BLAS SAXPY,SDOT,SSCAL,SASUM Fortran
ABS,AMAX1,IABS,SIGN
PPPPaaaaggggeeee 2222